package org.csu.onlineedubackend.service;

import org.csu.onlineedubackend.entity.Notification;
import java.util.List;

public interface NotificationService {
    // 添加通知
    void addNotification(Notification notification);

    // 获取用户的所有通知
    List<Notification> getUserNotifications(Integer userId);

    // 标记所有通知为已读
    void markAllAsRead(Integer userId);

    // 标记单个通知为已读
    void markAsRead(Long notificationId, Integer userId);

    // 清理旧通知（可以由定时任务调用）
    void cleanOldNotifications(Integer userId);

    // 删除特定类型的通知
    void deleteNotificationsByType(Integer userId, String type, String targetName);

    // 更新通知类型
    void updateNotificationType(Long notificationId, String newType);

    // 根据用户ID、类型和目标名称更新通知类型
    void updateNotificationTypeByUserAndTarget(Integer userId, String oldType, String targetName, String newType);
} 